package com.woniuxy.tms.accept.mapper;

import java.util.Date;
import java.util.List;
import com.woniuxy.tms.accept.domain.Waybill;
import com.woniuxy.tms.accept.domain.dto.QuerryWaybillDTO;
import org.apache.ibatis.annotations.Param;

/**
 * 货运单Mapper接口
 *
 * @author dxw
 * @date 2022-04-20
 */
public interface WaybillMapper
{
    /**
     * 查询货运单
     *
     * @param waybillId 货运单主键
     * @return 货运单
     */
    public Waybill selectWaybillByWaybillId(Long waybillId);

    /**
     * 查询货运单列表
     *
     * @param waybill 货运单
     * @return 货运单集合
     */
    public List<Waybill> selectWaybillList(QuerryWaybillDTO waybill);

    /**
     * 新增货运单
     *
     * @param waybill 货运单
     * @return 结果
     */
    public int insertWaybill(Waybill waybill);

    /**
     * 修改货运单
     *
     * @param waybill 货运单
     * @return 结果
     */
    public int updateWaybill(Waybill waybill);

    /**
     * 删除货运单
     *
     * @param waybillId 货运单主键
     * @return 结果
     */
    public int deleteWaybillByWaybillId(@Param("waybillId") Long waybillId, @Param("updatedBy")Long updateBy, @Param("updatedTime")Date updateTime);

    /**
     * 批量删除货运单
     *
     * @param waybillIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWaybillByWaybillIds(@Param("waybillId") Long[] waybillIds, @Param("updatedBy")Long updateBy, @Param("updatedTime")Date updateTime);
}
